<?php

namespace View;

class FileUploadView{

	private $m_file = "file";
	private $m_submit = "submit";
	private $m_users = "users";

	// Konstanter med meddelanden som skall kunna visas för användaren
	const NO_MESSAGE = "";
	const NO_FILE_SELECTED = "Ingen fil har valts";
	const NO_USER_SELECTED = "Ingen användare har valts";	
	const FILENAME_EXISTS = "Filnamnet finns redan";
	const WRONG_TYPE = "Otillåten filtyp";
	const SUCCESS = "Filen laddades upp";

	/**
	 * Skapar ett meddelande
	 * @param string $message innehåller ett meddelande
	 */
	public function Message($message)
	{
		return "
			<div class='error'>$message</div>
		";
	}

	/**
	 * Skapar ett formulär för filuppladdning
	 * @param array $userArray innehåller alla användare
	 */
	public function CreateUploadForm($userArray)
	{
		$dropDown = $this->DropDown($userArray);
		return "
			<div id='upload'>
			<h2>Ladda upp filer</h2>
				<form method='post' enctype='multipart/form-data'>
					<input type=$this->m_file class='fileUpload' name=$this->m_file id=$this->m_file />

					</br>

					$dropDown

					<input type=$this->m_submit name=$this->m_submit class='btn btn-info' value='Ladda upp' />
				</form>
			</div>
		";
	}

	/**
	 * Kontrollerar om användaren vill ladda upp en fil
	 */
	public function TriedToUpload()
	{
		return isset($_POST[$this->m_submit]);
	}

	/**
	 * Hämtar filen ifrån min fileupload
	 */
	public function GetFile()
	{
		return $_FILES[$this->m_file];
	}

	/**
	 * Funktion som skriver ut filer
	 */
	public function FileOutput($files, $path)
	{
		$returnstring = "";

		foreach ($files as $file) {
			
			$filename = $file->GetFilename();

			$filePath = $path . $filename;

			$returnstring .= "<a href=$filePath rel='lightbox[userImage]'><img src=$filePath class='img-polaroid img'/></a>";
		}
		return $returnstring;
	}

	/**
	 * Funktion som används för att välja vilken användaren en fil skall tillhöra
	 * @param Array $Values Innehåller de värdena som skall fylla dropdownen
	 */
	public function DropDown($userArray)
	{
		$selectStart = "<select name='$this->m_users' class='select'>";
		$selectEnd = "</select>";

		$options = "<option value='0' disabled selected class='dontDisplay'>Välj användare</option>";

		foreach ($userArray as $user) {
			if($user->getSuperUser() == 0){

				$userid = $user->GetId();
				$username = $user->GetUsername();

				$options .= "<option value=$userid>$username</option>";
			}
		}

		return $selectStart . $options . $selectEnd;
	}

	public function GetDropDownUser()
	{
		if(isset($_POST[$this->m_users])){
			return $_POST[$this->m_users];
		}
	}
}